今天我們要來撰寫取得python api資料的方法,
首先先打開ShioajiServiceImpl.java檔案,
先創建一個叫test的方法,傳入的參數是個map(py_data),
然後注意到我們要連的api url,
我們使用這兩行,
@Value("${api.url}")
private String apiUrl;
可以取到設定檔中的路徑,
之後執行restTemplate.exchange,
第一個參數是連接的url路徑,第二個參數是http 方法,
完整程式如下,
@Service
public class ShioajiServiceImpl implements ShioajiService {
private static Logger log = LoggerFactory.getLogger(ShioajiServiceImpl.class);
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@Value("${api.url}")
private String apiUrl;
public String test(String tickdate) {
log.info(" excute test time is {}", dateFormat.format(new Date()));
String data = "";
RestTemplate restTemplate = new RestTemplate();
HttpEntity<String> entity = new HttpEntity<>(tickdate);
try {
ResponseEntity<String> getTick =
restTemplate.exchange(
apiUrl+"testdata?tickdate="+tickdate,
HttpMethod.GET,
entity,
new ParameterizedTypeReference<String>() {});
data = getTick.getBody();
System.out.println("data: "+data);
}catch(Exception ex) {
log.error(ex.getMessage(),ex);
throw ex;
}
return data;
}
明天繼續撰寫controller跟service的部分!